package com.edais.persistence;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import com.edais.domain.LootShare;
import com.edais.domain.RateRisesCoupons;
import com.edais.domain.UserSign;

public interface RateRisesCouponsMapper {
	
	public List<RateRisesCoupons> queryRateRisesCouponsListByParams(Map<String,Object> paramsMap);
	
	public int queryRateRisesCouponsListByParamsCount(Map<String,Object> paramsMap);

	public void insertRateRisesCoupons(RateRisesCoupons rateRisesCoupons);
	/**
	 * 获取参数列表
	 * @param listStr
	 * @return
	 * @throws Exception
	 */
	public List queryParamName(List<String> keyList);
	
	//根据获取途径查询每日获取的加息券
	public List<RateRisesCoupons> getTodayRateRisesCouponsByGetway(Map<String,Object> paramsMap);
	
	public int getTodayRateRisesCouponsByGetwayCount(Map<String,Object> paramsMap);
	
	//根据id数组获取List 
	public List<RateRisesCoupons> getRateRisesListByRateIds(String [] rateIdsArray);
	
	//根据订单ID获取加息券List
	public List<RateRisesCoupons> getRateRisesCouponsListByOrderId(Map<String,Object> paramsMap);
	
	//更新加息券信息
	public void updateRateRisesCouponsInfo(RateRisesCoupons rateRisesCoupons);
	
	//查询分享信息
	public LootShare selectLootShareInfoByParams(Map<String,Object> paramsMap);
	
	//增加分享信息
	public void insertLootShare(LootShare lootShare);
	
	//根据分享人手机号查询抢券人信息
	public List<LootShare> queryLootShareInfoByShareMobile(Map<String,Object> paramsMap);
	
	public LootShare selectShareInfoByParams(Map<String,Object> paramsMap);
	
	//查询当日分享和被查看分享获取的加息券总数
	public Integer selectTodayShareGetCouponsCount(Map<String,Object> paramsMap);

	//根据订单ID查询所有使用的加息券列表
	public List<RateRisesCoupons> getAllRateRisesCouponsListByOrderId(Map<String,Object> paramsMap);
	
	//根据微信标识查询用户是否重复获取加息券
	public LootShare queryLootShareInfoByWeixinOpenId(Map<String,Object> paramsMap);
	
	//查询当日分享获取加息券的总利率
	public BigDecimal selectTodayShareGetCouponsRateRises(Map<String,Object> paramsMap);
	
	//获取当日加息总利率
	public BigDecimal queryCurrentRateRiseByOrderId(Map<String,Object> paramsMap);
	
	//查询用户当日签到信息
	public UserSign queryUserCurrentSign(Map<String,Object> paramsMap);
	
	//增加签到信息
	public void addUserSignInfo(UserSign userSign);
	
	//更新签到信息
	public int updateUserSignInfo(UserSign userSign);
	
	//查询活动文案
	public String queryTextSettingByName(String name);
	
	//查询用户所有签到信息
	public List<UserSign> queryUserSignList(Map<String,Object> paramsMap);
	//获取签到加息利率
	public BigDecimal queryQdRateRiseByOrderId(Map<String, Object> queryCoreMap);
	
	//查询用户当月签到信息
	public UserSign queryUserCurrentMonthSign(Map<String,Object> paramsMap);
}
